PINS: Path-based Inductive Synthesis
نویسندگان
چکیده
In this paper, we present a novel program synthesis approach that is inspired by symbolic testing. We symbolically execute an unknown template program and constrain the program’s behavior over each executed path. As more paths are explored the space of candidate programs narrows until only the valid ones remain. Instead of randomly picking paths, we find that is possible and more efficient to direct path exploration over the unknown template program using a novel technique that parameterizes the symbolic executor by the remaining candidate solutions. We call this approach Pathbased Inductive Synthesis (PINS). We apply PINS to the problem of automatic program inversion. The specification for inversion is implicit as the combination of the original program and the inverse is the identity transform. We observe that an inverse is typically related to the original program and so the space of possible inverses can be inferred by automatically mining the original program for expressions, predicates, and control flow. Using PINS, we show we can synthesize inverses for compressors (e.g., LZ77), packers (e.g., UUEncode), and arithmetic transformers (e.g., image rotations). PINS synthesizes these inverses in a median time of 40 seconds and an average time of 293 seconds, demonstrating the viability of our testing-inspired synthesis approach.
منابع مشابه
An Encoding Technique to Reduce Inductive Noise in Off-Chip Data Transmission
Simultaneous switching noise due to inductance in VLSI packaging is a significant limitation to system performance. The inductive parasitics within IC packaging causes bounce on the power supply pins in addition to glitches and rise-time degradation on the signal pins. These factors bound the maximum performance of off-chip busses, which limits overall system performance. Until recently, the pa...
متن کاملA Network Attack Model based on Colored Petri Net
The researches have shown that not all the Petri Net machines can be used to describe attack behavior. When Petri Net machines adapted for attack behavior modeling are detecting the network, for some event of current status, if there is matching event in the model, it has only one corresponding transition; otherwise that may cause errors. Since sharing synthesis and synchronization synthesis of...
متن کاملTowards Spatial Reasoning with Strings and Pins
Spatial problems and a variety of abstract problems can be solved by humans with more ease if the problem can be visualized and/or manipulated. Elaborating on the differences and interplay between representing spatial problems and solving them, this paper focuses on exploring the qualities of a strings and pins problem solving domain. This domain is compared to the straightedge and compass doma...
متن کاملTestbed Assisted Control Flow Tracing for Wireless Embedded Systems
Observing wireless embedded systems is difficult because of resource constraints and tight interaction with the environment. In this paper, we develop a method that can reconstruct the entire control flow of a program based on recorded state changes (time and state) of I/O pins. We instrument program binaries by statically inserting instructions that alter the states of a set of I/O pins. Durin...
متن کاملCollaborative Inductive Logic Programming for Path Planning
In distributed systems, learning does not necessarily involve the participation of agents directly in the inductive process itself. Instead, many systems frequently employ multiple instances of induction separately. In this paper, we develop and evaluate a new approach for learning in distributed systems that tightly integrates processes of induction between agents, based on inductive logic pro...
متن کامل